'''
* This is the projet for Brtc LlmOps Platform
* @Author Leon-liao <liaosiliang@alltman.com>
* @Description //TODO 
* @File: study_json_data.py
* @Time: 2025/6/29
* @All Rights Reserve By Brtc
'''
import json

### Json数据格式的定义
### 用大括弧实现 KEY-VLUE 方式存放格式叫做 JSON
## 例如\
"""
{
    "root":{
    
    }
    "name":"testcher-liao"
    "age":18
    "hight":1.88
}
key的是字符串
value 可以是任何类型， 数字， 字符串  浮点型  数组  json对象
他是 可视化的 结构数据， 被大量的应用在各个 领域， 前端 - 后端 - 嵌入式
json 数据 各种语言 都有实现， c  c++  pyth  java  js  c# 解决  协议 之间不通用的问题
私有协议：第一个字节 代表什么  （1，2，3）
"""
"""

#  json的使用
# 在python 中  dict 跟json是天然 切合的， python中  使用 json 是 很方便的
# 将字典转换成 json
test_data = {
    "leon":{
        "sex":"boy",
        "age":18,
        "money":1000000,
        "car":["五菱宏光", "摩拜单车", "问界"]
    },
    "john":{
        "sex":"girl",
        "age":88,
        "money":100000000000,
        "car":["轮椅", "电动轮椅", "保时捷"]
    }
}

print(type(test_data))
print(test_data)
###  dict ---> json  反序列化
str_json=json.dumps(test_data,  indent=1)
print(str_json)"""
# json ----> 字典 dict 序列化
"""
json_str = "{\"name\":\"tectcher-liao\", \"age\":18}"
json_dict = json.loads(json_str)
print(json_str)
print(json_dict)"""
###  从文件 中加载 json
with open('./test.json', 'r+', encoding='utf-8') as f:
     dict_data = json.load(f)
     print(dict_data)
     print(dict_data["server_ip"])
     print(dict_data["account"])
     print(dict_data["account"]["user_name"])

## json 学习结束了

